package com.quanyan.stadium.biz.redis;

import com.quanyan.stadium.entity.vo.*;

import java.util.List;

/**
 * Created by lei.w on 2016/7/15.
 *
 * 官方赛事的赛事 信息 和 赛事轮次信息
 */

public interface GameCacheDao {

    /**
     *  存放赛事的基本信息到redis
     *
     * */
    void initGameEventToCache(GameEvent gameEvent);

    /**
     *  删除赛事的基本信息到redis
     *
     * */
    void delGameEventFromCache(Integer gameEventId);

    /**
     *  存放轮次的信息到redis
     *
     * */
    void initGameRoundToCache(GameRound gameRound);

    /**
     *  删除轮次的基本信息到redis
     *
     * */
    void delGameRoundFromCache(Integer gameRoundId);

    /**
     *  存放轮次的信息到redis
     *
     * */
    void initGameRoundToCache(List<GameRound> gameRounds);

    /**
     *  存放赛程的信息到redis
     *
     * */
    void initGameScheduleToCache(GameSchedule gameSchedule);

    /**
     *  删除轮次的基本信息到redis
     *
     * */
    void delGameScheduleFromCache(Integer gameScheduleId);

    /**
     *  存放赛程的信息到redis
     *
     * */
    void initGameScheduleToCache(List<GameSchedule> gameSchedules);



    /**
     *  取出赛事的基本信息到redis
     *
     * */
    GameEvent getGameEventFromCache(Integer gameEventId);

    /**
     *  取出轮次的信息到redis
     *
     * */
    GameRound getGameRoundFromCache(Integer gameRoundId);

    /**
     *  取出赛程的信息到redis
     *
     * */
    GameSchedule getGameScheduleFromCache(Integer gameScheduleId);


    /**
     *
     * */
    void initGameEventConfig(GameEventConfig gameEventConfig, int type);

    /**
     *
     * */
    void delGameEventConfig(int type);

    /**
     *
     * */
    GameEventConfig getGameEventConfig(int type);

    /**
     *
     * @param clubGameEventConfig
     */
    void initClubGameEventConfig(ClubGameEventConfig clubGameEventConfig);

    /**
     * 内部赛筛选配置
     * @return
     */
    ClubGameEventConfig getClubGameEventConfig();

    /**
     * 删除内部赛赛选项配置
     */
    void deleteClubGameEventConfig();

    /**
     *  更新黑名单用
     *  */
    void updateBlackUser(int uid);
    /**
     * 查询黑名单用户
     *
     * */
    List<Integer> queryBlackUser();
    /**
     * 清空黑名单用户
     *
     * */
    void deleteAllBlackUser();

    /**
     * 清空黑名单中某个用户
     *
     * */
    void deleteOneBlackUser(int uid);
}
